home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1987-01-14 | 41.0 KB | 185 lines
2 KEYOFF:FORX%=1TO10:KEYX%,"":NEXT:GOTO10 10 GOSUB50020:CLS:COLOR7,0:DEFINTA-Z:DEFSTRF 11 DIMC$,A$,A$(200),B.COD$(30),T.COD$(200),FH(50),BAL$(13),CLR$(13),TRX$(13),MO$(12),PN$(9,2),TB#(200),TOP(50),I(3),F(50),BA$(13),CL$(12),TR$(12) 15 DEFFNCN$(A$,A)=STRING$((A-LEN(A$))/2-0.5," ")+A$ 20 T=29:TOP=1:BOT=21:LFT=18:RT=LFT+26:CLS:LOCATETOP+2,1:PRINTFNCN$("** M I C R O A C C O U N T I N G **",80):PRINT:PRINT:PRINT 30 PRINTFNCN$("=== User-Supported Software ===",80):PRINT:PRINTFNCN$("If you have received this program",80):PRINTFNCN$("and find it of use,",80):PRINTFNCN$("your contribution will be appreciated",80):PRINTFNCN$("( $35.00 suggested )",80):PRINT 31 PRINTFNCN$("Donald R. Ramsey",80):PRINTFNCN$("727 Bunker Hill #70",80):PRINTFNCN$("Houston, Texas 77024",80):PRINT:PRINTFNCN$("You are encouraged to",80):PRINTFNCN$("Copy and Distribute this Program.",80) 32 PRINT:X=CSRLIN:COLOR15,0:PRINTFNCN$("PRESS <ENTER>",80):COLOR7,0:GOSUB49700:GOSUB150 50 CLS:GOSUB49000 100 FL1="S":T=29:TOP=1:BOT=20:LFT=19:RT=LFT+25:CLS:LOCATETOP+2,1:PRINTFNCN$("** M A I N M E N U **",80):PRINT:PRINT:PRINT 101 PRINTTAB(T)"<T> Transaction Entry":PRINT 104 PRINTTAB(T)"<2> Reconcile Checkbook 105 PRINTTAB(T)"<3> Run Alternate System 106 PRINTTAB(T)"<4> Begin New Year 107 PRINTTAB(T)"<5> End Program":PRINT 108 PRINTTAB(T)"<R> Report MENU 109 PRINTTAB(T)"<F> File Maintenance MENU":PRINT 110 PRINTTAB(T)"<D> Print Program Documentation 112 PRINT:X=CSRLIN:LOCATEX,LFT+5:COLOR15,0:PRINT" PRESS THE NUMBER OF YOUR SELECTION ":COLOR7,0 115 GOSUB49700:GOSUB50040 116 IFN.BACC=0THENLOCATE22,1:COLOR15,0:PRINTFNCN$("The System is not initialized... Use OPTION <F>, <3>, or <4> of this Menu",80) 130 GOSUB150:ONINSTR("T2345RFD",A$)GOTO1000,15000,140,25000,900,5000,20000,400:BEEP:GOTO130 140 CLS:COLOR7,0:Y$=YEAR$:GOSUB49030:CLOSE:GOTO100 150 A$=INKEY$:IFA$=""THEN150 ELSERETURN 300 INPUTA$:IFINSTR("YNyn",A$)=0THEN300 ELSEIFA$="Y"ORA$="y"THENA$="Y" ELSEA$="N 301 RETURN 310 A1=1:GOSUB50100:IFA$=CHR$(250)THEN311 ELSEIFINSTR("ynYN",AN$)=0THENBEEP:GOTO310 311 RETURN 400 CLS:LOCATE10,1:PRINTFNCN$("To print Program Documentation, return to DOS by the MAIN MENU End Program",80):PRINT:PRINTFNCN$("then type MADOC.BAT and press <ENTER>",80):PRINT:PRINT:PRINT:PRINTFNCN$("Press <ENTER> to continue...",80) 401 GOSUB150:GOTO100 500 GOSUB800:PRINT"Press <ENTER> to continue, <E> to exit, or":PRINT" <C> to make changes...";:GOSUB150:IFINSTR("CE"+CHR$(13),A$)=0THEN500 ELSERETURN 800 COLOR7,0:LOCATE23,1:PRINTSTRING$(60," ");:LOCATE24,1:PRINTSTRING$(79," ");:LOCATE23,1:RETURN 810 LOCATE13,1:FORF%=0TO7:PRINTC$;:NEXT:RETURN 820 LOCATE9,1:FORF%=0TO8:PRINTC$;:NEXT:RETURN 830 LOCATE6,1:FORF%=0TO15:PRINTC$;:NEXT:RETURN 860 LOCATE18,1:FORF%=0TO3:PRINTC$;:NEXT:RETURN 900 CLS:LOCATE11,1:PRINTFNCN$("*** This Progam is about to END ***",80):COLOR15:PRINT:PRINTFNCN$("VERIFY O/K ( Y/N )",80);:GOSUB300:COLOR7:IFA$="N"THEN100 ELSECLS:CLOSE:SYSTEM 1000 IFN.BACC=0ORN.TACC=0THENCLS:LOCATE12,1:PRINTFNCN$("Either no Bank Accounts or no Budget Accounts have been assigned.",80):PRINTFNCN$("Please do this in File Maintenance",80):PRINT:BEEP:PRINTFNCN$("Press <ENTER>",80):GOSUB150:GOTO100 1010 ONERRORGOTO58000:Y$=YEAR$:RP$="":APMT$="":SW=0:XFER$=" 1100 CLS:H$="TRANSACTION MENU":GOSUB40000 1110 T=25:LOCATE8,1:PRINTTAB(T)"<1> Automatic Payments 1120 PRINTTAB(T)"<2> Individual Entries 1130 PRINTTAB(T)"<3> Print Checks":PRINT 1132 PRINTTAB(T)"<R> Report Menu 1134 PRINTTAB(T)"<F> File Maintenance Menu 1136 PRINTTAB(T)"<M> Main Menu 1140 GOSUB50040:GOSUB150:ONINSTR("123",A$)GOTO2000,3000,10000 1200 CLOSE:ONINSTR("RFM",A$)GOTO5000,20000,100:BEEP:GOTO1140 2000 GOSUB2900:C=1:FL%=1:CK.DATE$=DAT$:GOSUB40600 2010 SW=4:RP$="":APMT$="":GOSUB40401:IFA$=CHR$(250)THEN2200 2020 PF=1:GOSUB57300:PF=2:GOSUB57000:PF=3:GOSUB57200:PF=4:GOSUB57100 2030 GOSUB2950:CO=0 2100 FORX=1TON.APMT 2110 CO=CO+1:GET1,X:GOSUB2800 2120 IFCO=11THENCO=0:GOSUB2300:IFA$="N"THENCLS:GOSUB2900:GOSUB2950 ELSEIFA$="E"THEN2200 2130 NEXT 2150 GOSUB2300 2200 CLOSE:GOTO1000 2300 GOSUB860:GOSUB800:PRINT"Press <P> to Pay a bill, <N> for Next page":PRINT" <E> to Exit...";:GOSUB150:GOSUB800:ONINSTR("PNE",A$)GOTO2310,2490,2490:BEEP:GOTO2300 2310 LOCATE19,1:PRINT"Pay Record #:":R=19:C=15:A1=3:GOSUB50400:RN=VAL(AN$):IFRN>N.APMTTHENBEEP:GOSUB800:PRINT"Record # too high... Press <ENTER>":GOSUB150:GOTO2310 2320 IFA$=CHR$(250)THEN2480 2330 PF=1:GOSUB57310:GET1,RN:LOCATE18,1:PRINT"Pay to: ";FH(31):PRINT"Amount: ";USINGP6$;CVD(FH(32));:PRINTTAB(25)"Pay from: "FH(30) 2340 LOCATE18,60:PRINT"1. Pay As Is";:LOCATE19,60:PRINT"2. Change Amount";:LOCATE20,60:PRINT"3. Change Bank";:LOCATE21,60:PRINT"4. Skip this Item"; 2350 COLOR0,7:LOCATE18,50:PRINT" Select ":COLOR7,0:SOUND600,1.5 2360 GOSUB50040:GOSUB150:LOCATE18,50:PRINT" ":ONINSTR("1234",A$)GOTO2400,2500,2600,2300:BEEP:GOTO2350 2400 CK$=FH(30):GOSUB40100:GET4,R.NO:N.BA=R.NO 2401 LOCATE20,1:PRINT"Date : ":R=20:C=11:AF$=F2(1):GOSUB50300:IFA$=CHR$(250)THEN2330 ELSEIFDE$=CHR$(255)THENLOCATER,C:PRINTCK.DATE$; ELSECK.DATE$=FND2$(AN$):T1=VAL(LEFT$(CK.DATE$,2)):GOSUB40490:GOSUB40495:IFFE="X"THENBEEP:GOTO2400 2405 CD$=FH(30):N=2:GOSUB3760:LOCATE23,1:PRINT"Next available Check No.: ";CK.NO+1; 2410 LOCATE21,1:PRINT"Check # : ":R=21:C=11:A1=5:GOSUB50400:IFDE$=CHR$(255)THENCK.NO=CK.NO+1:LOCATER,C:PRINTUSINGP3$;CK.NO ELSEIFA$=CHR$(250)THEN2400 ELSECK.NO=VAL(AN$) 2420 GOSUB800:LOCATE21,25:PRINT"Print Check (Y/N)? ";:R=21:C=45:GOSUB310:IFA$=CHR$(250)THEN2410 ELSEIFAN$="Y"THENGOSUB2700 2425 PF=2:GOSUB57010 2430 LSETFH(1)="C":LSETFH(2)=LEFT$(CK.DATE$,2)+MID$(CK.DATE$,4,2):LSETFH(3)=RIGHT$(STR$(CK.NO),5):LSETFH(4)=FH(31):LSETFH(5)=FH(32):LSETFH(6)=FH(33):LSETFH(7)="":LSETFH(8)=FH(30) 2431 LSETFAC(1)=FH(34):LSETFTX(1)=FH(35):LSETFAM(1)=FH(32):LSETFAC(2)="**** 2450 GET4,N.BA:T#=CVD(FH(32)):LSETBAL$(13)=MKD$(CVD(BAL$(13))-T#):FORY=MOTO12:LSETBAL$(Y)=MKD$(CVD(BAL$(Y))-T#):NEXT:LSETCLR$(MO)="N":LSETTRX$(MO)="Y":LSETCK.N$=MKS$(CK.NO) 2460 CK$=FH(34):GOSUB40200:GET3,R.NO:LSETFH(23)=MKD$(CVD(FH(23))+T#) 2470 N.TRX=N.TRX+1:PUT2,N.TRX:PUT3,R.NO:PUT4,N.BA 2480 GOSUB860:GOTO2300 2490 RETURN 2500 R=19:C=10:A1=10:GOSUB50200:FH(32)=MKD$(VAL(AN$)):LOCATER,C:PRINT" ";USINGP6$;CVD(FH(32));:GOTO2350 2600 R=19:C=36:A1=4:GOSUB50100:CK$=AN$:GOSUB40100:IFCODE$<>"V"THENBEEP:GOTO2600 ELSEFH(30)=AN$:GOTO2350 2700 IFFL%=1THENGOSUB800:COLOR23:PRINT"Insure ";:COLOR7:PRINT"Printer is on and":PRINT"Check forms are properly positioned then Press <ENTER>...";:GOSUB150:FL%=0:GOSUB800 2710 FH(4)=FH(31):FH(5)=FH(32):FH(6)=FH(33):XX=N.TRX:GOSUB10500:GOSUB10300:RETURN 2800 IFFH(39)<>"D"THENC=C+1:PRINT" ";USING"###";X;:PRINTTAB(12)FH(30);TAB(19)FH(31);TAB(59)FH(34);TAB(67)USINGP1$;CVD(FH(32)):RETURN ELSERETURN 2900 CLS:H$="** AUTOMATIC PAYMENTS **":GOSUB40000 2910 LOCATE3,1:PRINT" Record Pay";TAB(58)"Budget":PRINT" Number From Pay To";TAB(59)"Code";TAB(74)"Amount":PRINTSG$:RETURN 2950 LOCATE17,1:PRINTSG$:LOCATE6,1:CO=1:RETURN 3000 CLS:TOP=1:BOT=11:LFT=2:RT=77:GOSUB49700:GOSUB40600 3010 GOSUB40400:IFA$=CHR$(250)THEN3800 3040 PF=2:GOSUB57100:GET2,R.NO:GOSUB800 3045 BANK$=FH(11):A.NAME$=FH(12):T.BAL#=CVD(BAL$(13)):N.BA=R.NO 3050 PF=1:GOSUB57000:N=2:GOSUB3700 3065 PF=3:GOSUB57200 3070 LSETFH(7)=" ":LSETFH(8)=CD$ 3100 GOSUB3900 3105 LOCATE16,47:COLOR23,0:PRINT"_";:COLOR7:GOSUB150:LSETFH(1)=A$:IFINSTR("CDM",A$)=0THEN3105 ELSEIFFH(1)="M"THEN3800 ELSEGOSUB810:IFFH(1)="D"THENLOCATE7,53:PRINT"DEPOSIT 3110 FX="N00020202":GOSUB52000:IFA$=CHR$(250)THENCLS:GOTO3100 3115 FX="N00030603":IFA$=CHR$(250)THEN3110 ELSEIFFH(1)="D"THENLSETFH(3)=" DEP":FX="N00040604 3120 GOSUB52000:A.BAL#=CVD(FH(5)):IFA$=CHR$(250)THEN3115 3125 LOCATE13,1:PRINT" Budget Account Assignment:":PRINTTAB(10)"Budget Code";TAB(28)"Tax Code";TAB(47)"Amount";TAB(63)"Amount Remaining"; 3130 FX="N04010901 3140 GOSUB52000:IFA$=CHR$(250)THENFX="N00020606":GOTO3120 ELSEIFFE="E"THEN3190 3150 FX="N05010901":GOSUB52000:IFA$=CHR$(250)THENFX="N04010909":GOTO3140 3190 GOSUB500:IFA$="E"THENGOSUB3500:GOTO3800 ELSEIFA$=CHR$(13)THENGOSUB3500:CLS:FL="":NF=1:GOTO3100 3200 FL="C":FORR=15TO20:LOCATER,63:PRINTSTRING$(14," ");:NEXT:FX="C00020202":GOSUB52000:IFA$=CHR$(250)ORA$="E"THEN3250 3205 FX="C00030603":IFFH(1)="D"THENFX="C00040604":IFA$=CHR$(250)THEN3200 3210 GOSUB52000:IFA$=CHR$(250)THEN3205 ELSEIFA$="E"THEN3250 3220 FX="C04010901 3230 GOSUB52000:IFA$=CHR$(250)THENFX="C00030606":GOTO3210 ELSEIFA$="E"THEN3250 3240 FX="C05010901":GOSUB52000:IFA$=CHR$(250)THENFX="C04010909":GOTO3230 3250 FL="":GOTO3190 3500 N.TRX=N.TRX+1:GOSUB40300:T.BAL#=T.BAL#+T# 3510 LSETBAL$(13)=MKD$(T.BAL#):LSETCLR$(MO)="N":LSETTRX$(MO)="Y 3520 FORY=MOTO12 3530 LSETBAL$(Y)=MKD$(CVD(BAL$(Y))+T#) 3540 NEXT:LSETCK.N$=MKS$(CK.NO) 3550 PUT1,N.TRX:PUT2,N.BA 3560 FORY=1TO6:IFFAC(Y)="****"THEN3620 3580 CK$=FAC(Y):GOSUB40200:GET3,R.NO 3590 LSETFH(23)=MKD$(CVD(FH(23))+CVD(FAM(Y))) 3600 PUT3,R.NO 3610 NEXTY 3620 RETURN 3700 LOCATE15,1:PRINTFNCN$("Standby... Reading files",80):NF=0 3705 FORZ=N.TRXTO1STEP-1 3710 GETPF,Z:IFFH(8)<>FNAB$(CD$)THEN3750 3730 LSETFH(2)=FH(2):LSETFH(5)=FH(5):Z=0:NF=1 3750 NEXTZ 3760 ONERRORGOTO3770:GETN,N.BA:CK.NO=CVS(CK.N$):RETURN 3770 ONERRORGOTO58000:RESUMENEXT 3800 CLOSE:GOTO1000 3900 GOSUB49700:GOSUB810:LOCATE2,3:COLOR15:PRINTFNCN$(FNSS$(BANK$)+": "+MO$(MO)+" 19"+RIGHT$(DAT$,2),76):COLOR7:LOCATE4,5:PRINTA.NAME$;:GOSUB3950 3905 LOCATE21,3:PRINTSG$;:LOCATE7,5:PRINT"Date :";TAB(53)"Check No.:":LOCATE9,5:PRINT"Payee/Payor:";TAB(53)"Amount :":LOCATE11,5:PRINT"Memo : 3907 T=25:LOCATE14,1:PRINTTAB(T-5)"PRESS:":PRINTTAB(T)"<C> for a Check":PRINTTAB(T)"<D> for a Deposit":PRINTTAB(T)"<M> for the MENU 3910 T.DAT$=LEFT$(DAT$,2)+MID$(DAT$,4,2):IFNF=1THENT.DAT$=FH(2):LOCATE21,1:PRINT"Last Transaction: Date ";FND1$(FH(2));" Check No. ";:IFFH(1)="D"THENPRINT"DEPOSIT"; ELSEIFP$="P"THENPRINT"PR CK"; ELSEPRINTFH(3); 3920 IFNF=1THENPRINT" Amount ";USINGP1$;CVD(FH(5));:RETURN ELSERETURN 3950 IFT.BAL#=<0THENCOLOR23,0:BEEP 3960 PRINTTAB(58)USINGP6$;T.BAL#:IFT.BAL#>0THEN3970 ELSEDELAY=2:GOSUB50800:COLOR7,0:LOCATE4,58:PRINTUSINGP6$;T.BAL#; 3970 COLOR7:RETURN 5000 CLS:H$="** R E P O R T M E N U **":GOSUB40000:RP$="":MENU$=" 5010 T=18:LOCATE6,1:PRINTTAB(T)"<1> List Transaction Register":PRINTTAB(T)"<2> Budget Analysis and Average Month":PRINTTAB(T)"<3> Memo Report":PRINTTAB(T)"<4> Bank Account Summary":PRINT:PRINTTAB(T)"<5> Account Distribution Report (printer only) 5011 PRINTTAB(T)"<6> Selected Account Detail (printer only)":PRINTTAB(T)"<7> Selected Tax Code Detail (printer only)":PRINT 5020 PRINTTAB(T)"<T> Transaction Entry":PRINTTAB(T)"<F> File Maintenance MENU":PRINTTAB(T)"<M> Main MENU":GOSUB50040 5030 PG=1:GOSUB150:ONINSTR("1234567",A$)GOTO5500,6000,6500,8500,7000,7500,8000 5100 CLOSE:ONINSTR("TFM",A$)GOTO1000,20000,100:BEEP:GOTO5030 5500 CLS:H$="** TRANSACTION REGISTER **":GOSUB40000 5510 SW=1:GOSUB40390:IFA$=CHR$(250)THEN5650 5520 PF=1:GOSUB57000 5525 IFN.TRX=0THENGOSUB40500:IFSKIP$="S"THEN5650 ELSE5520 5530 PF=2:GOSUB57100 5540 IFN.TRX=0THENGOSUB40500:GOTO5500 5560 GET2,R.NO:GOSUB41100 5570 IFMO=1THENP.BAL#=CVD(FH(14)) ELSEP.BAL#=CVD(BAL$(MO-1)) 5580 CK$=FNAB$(CD$):TB#(1)=P.BAL# 5590 IFRP$="P"THEN5700 5600 RN=1:TOP(1)=1:N.REC=N.TRX:PF=1:GOSUB45000 5605 IFA$="E"THEN5650 5610 GOSUB45900:IFA$="L"THENGOSUB9500:GOSUB45005:GOTO5605 5650 CLOSE:GOTO5000 5700 GOSUB41000 5730 PF=1:N.REC=N.TRX:GOSUB46000 5740 GOSUB5790 5750 GOTO8900 5790 LPRINTSE$;:LPRINT" T O T A L S";TAB(44)USINGP2$;T.CRED#;:LPRINTTAB(68)USINGP2$;P.BAL#:LPRINTTAB(55)USINGP2$;ABS(T.DEB#):RETURN 6000 CLS:H$="** BUDGET ANALYSIS & AVERAGE MONTH **":GOSUB40000 6010 SW=2:GOSUB40390:IFA$=CHR$(250)THEN6150 6020 PF=1:GOSUB57000 6030 PF=2:GOSUB57200 6060 GOSUB41200 6070 GOSUB6400 6080 LOCATE12,1:PRINTFNCN$("S O R T I N G",80) 6085 Y=N.TACC:FORX=1TOY:A$(X)=T.COD$(X):NEXT:GOSUB53000:GOSUB820:LOCATE6,1 6100 C=1:CO=1:PG=1:IFRP$="P"THENGOSUB41000 6110 FORXX=1TON.TACC 6120 CK$=A$(XX):GOSUB40200:GET2,R.NO 6125 IFFH(25)="D"ORCODE$<>"V"THEN6140 6130 IFRP$="P"THENGOSUB6200:GOTO6140 6135 GOSUB45200:IFCO>16THENGOSUB6300:IFA$="E"THENXX=N.TACC 6140 NEXTXX:IFRP$="P"THEN8900 6145 IFA$<>"E"THENGOSUB6300 6150 CLOSE:GOTO5000 6200 GOSUB46200:IFXX=N.TACCTHENRETURN ELSEGOSUB48000:RETURN 6300 GOSUB800:PRINT"Press <ENTER> to continue":PRINT" <E> to Exit...";:GOSUB150:CO=1:IFINSTR("E"+CHR$(13),A$)=0THENBEEP:GOTO6300 ELSEIFA$="E"ORXX>=N.TACCTHENRETURN ELSECLS:GOSUB41200:LOCATE6,1:RETURN 6400 LOCATE12,1:PRINTFNCN$("Standby... Reading Files",80) 6410 FORX=1TON.TACC:TB#(X)=0